1.4.1 while语句
while语句反复执行一段代码,直至给定的条件为假为止。我们可以用while语句编写一段程序,求1到10这10个数之和:
#include <iostream>
int main()
{
int sum = 0 val = 1;
// 只要val的值小于等于10,while循环就会持续执行
while (val <= 10){
sum += val; // 将sum + val 赋予sum
++val; // 将val 加1
}
std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl;
return 0;
}
我们编译并执行这个程序,它会打印出
Sum of 1 to 10 inclusive is 55
与之前的例子一样,我们首先包含头文件iostream,然后定义main。在main中我们定义两个int变量:sum用来保存和;val用来表示从1到10的每个数。我们将sum的初值设置为0,val从1开始。
这个程序的新内容是while语句。while语句的形式为
while (condition)
statement
while语句的执行过程是交替地检测condition条件和执行关联的语句statement,直至condition为假时停止。所谓条件(condition)就是一个产生真或假的结果的表达式。只要condition为真,statement就会被执行。当执行完statement,会再次检测condition。如果condition仍为真,statement再次被执行。while语句持续地交替检测condition和执行statement,直至condition为假为止。
在本程序中,while语句是这样的
// 只要val的值小于等于10,while循环就会持续执行
while (val <= 10){
sum += val; // 将sum + val 赋予sum
++val; // 将val 加1
}
条件中使用了小于等于运算符(<=)来比较val的当前值和10。只要val小鱼等于10,条件即为真。如果条件为真,就会执行while循环体。在本例中,循环体是由两条语句组成的语句块:
{
sum += val;// 将sum + val 赋予sum
++val;// 将val 加1
}
所谓语句块(block),就是花括号包围的零条或多条语句的序列。语句块也是语句的一种,在任何要求使用语句的地方都可以使用语句块。在本例中,语句块的第一条语句使用了复合赋值运算符(+=)。此运算符将其右侧的运算对象加到左侧运算对象上,将结果保存到左侧运算对象中。它本质上与一个加法结合一个赋值(assignment)是相同的:
sum = sum + val;// 将sum + val 赋予sum
因此,语句块中的第一条语句将val的值加到当前和sum上,并将结果保存到sum中。
下一条语句
++val;// 将val 加1
使用前缀递增运算符(++)。递增运算符将运算对象的值加1。++val等价于val=val+1。
执行完while循环体后,循环会再次对条件进行求值。如果val的值(现在已经增加了)仍然小于等于10,则while的循环体会再次执行。循环连续检测条件、执行循环体,直至val不再小于等于10为止。
一旦val大于10,程序跳出while循环,继续执行while之后的语句。在本例中,继续执行打印输出语句,然后执行return语句完成main程序。
普通的冒险故事提示您:看后求收藏(卧龙小说网http://www.wolongxs.com),接着再看更方便。
好书推荐:《我的剧本世界在自主运行》、《我是舰娘》、《交错世界之学院都市》、《认清现实后,她们开始追夫火葬场》、《好徒儿你就饶了为师伐》、《带着修真界仙子们天下无敌》、《剑来》、《修炼成仙的我只想养成女徒弟》、《足控勇者的目标是魔王的丝袜》、《被触手怪养大的少女》、